草庐IT

sql - MySQL -> RESTful API

全部标签

c# - Linq To SQL 选择动态列

是否可以动态限制从LINQtoSQL查询返回的列数?我有一个包含50多个列的数据库SQLView。我的应用程序有一个包含50多个属性的域对象,每列一个。在我的winforms项目中,我将域对象列表绑定(bind)到网格。默认情况下,只有少数列可见,但用户可以打开/关闭任何列。用户提示网格加载时间太长。我捕获了LINQ生成的SQL查询,然后在SQLServerManagementStudio中执行它并验证了它的速度。如果我更改SQL语句,删除所有不可见的列,它几乎会立即运行。性能与查询中的列数直接相关。我想知道是否可以动态更改从LINQ生成的SQL查询返回的列数?例如,这是我的代码目前的

c# - 使用 DataTable 插入或更新 SQL 表

首先,我不能使用任何存储过程或View。我知道这可能会适得其反,但这不是我的规则。我有一个DataTable,里面装满了数据。它具有我的SQL表的复制结构。ID-名称SQL表当前有一些数据,但我现在需要用DataTable的所有数据更新它。如果ID匹配,它需要更新SQl表,或者添加到它唯一的列表。有什么方法可以仅在我的WinForm应用程序中简单地执行此操作?到目前为止,我有:SqlConnectionsqlConn=newSqlConnection(ConnectionString);SqlDataAdapteradapter=newSqlDataAdapter(string.For

c# - 向 IList<T> 添加动态失败

在下面的代码示例中调用l.Add(s)和c.Add(s)是成功的,但是对于通用的IList失败了.varl=newList();dynamics="s";l.Add(s);varc=(ICollection)l;c.Add(s);vari=(IList)l;i.Add("s");//worksi.Add(s);//failshttps://dotnetfiddle.net/Xll2IfUnhandledException:Microsoft.CSharp.RuntimeBinder.RuntimeBinderException:Nooverloadformethod'Add'takes

c# - List<int> 需要很长时间才能使用 Nhibernate Criteria 进行实例化

我有这个查询,它返回7行并在数据库中花费4毫秒,但在实例化时花费1075毫秒。这只是时代的一个例子,它因对象而异,但花费这么长时间似乎没有意义。关于如何提高速度的任何指示?varcriteria=GetSession().CreateSQLQuery(@"selectcirct_idasCircuitIdfromnormal_upstreamwheredni_equip_type='A'startwithup_equip_stn_noin(:UpStationNo1)connectbypriorequip_stn_no=up_equip_stn_nounionselectcirct_i

c# - 如何对 List<T> 使用 BinarySearch

让我们从ListBinarySearch的重载开始:publicintBinarySearch(Titem,IComparercomparer);众所周知,在使用BinarySearch之前,应该使用适当的IComparer对列表进行排序。但是然后:要搜索列表,您将必须提供一个T项。当人们习惯于根据项目的属性搜索列表中的项目(即使用Linq或委托(delegate)/谓词)时,这是相当出乎意料的。因为当我已经有了我的T项目时,我就不需要搜索它了!现在我在C#中实现C++代码,看到C++程序员在他的代码中到处使用C++风格的二进制搜索,如下所示。首先他制作了一个新的Titem,并赋予了这

c# - 支持定期通知的自定义 ObservableCollection<T> 或 BindingList<T>

总结我有一个快速变化的大型数据集,我希望将其绑定(bind)到UI(带分组的数据网格)。变化有两个层面;经常从集合中添加或删除项目(单次每秒500个)每个项目都有4个属性,在其生命周期内最多会更改5次数据的特点如下;馆藏中约有5000件元素可以在一秒钟内添加一个项目,然后进行5次属性更改,然后再将其删除。项目也可能会保持某种临时状态一段时间,并且应该向用户显示。我遇到问题的关键要求;用户应该能够根据对象的任何属性对数据集进行排序我想做什么;仅每N秒更新一次UI仅引发相关的NotifyPropertyChangedEventsIfitem1hasapropertyStatewhichmo

c# - IEnumerable<IMyInterface> 隐式来自 Class[] 但不是来自 Struct[]。为什么?

给定:publicinterfaceIMyInterface{}publicclassMyClass:IMyInterface{publicMyClass(){}}publicstructMyStruct:IMyInterface{privateint_myField;publicMyStruct(intmyField){_myField=myField;}}为什么我可以写:IEnumerablemyClassImps=new[]{newMyClass(),newMyClass(),newMyClass()};但不是:IEnumerablemyStructImps=new[]{newM

c# - 如何对可以取消的 DataTable 操作执行 SQL 查询

我试着让标题尽可能具体。基本上我现在在后台工作线程中运行的是一些代码,如下所示:SqlConnectionconn=newSqlConnection(connstring);SqlCommandcmd=newSqlCommand(query,conn);conn.Open();SqlDataAdaptersda=newSqlDataAdapter(cmd);sda.Fill(Results);conn.Close();sda.Dispose();其中query是一个字符串,表示一个大的、耗时的查询,conn是连接对象。我现在的问题是我需要一个停止按钮。我开始意识到杀死后台工作人员将毫无

c# - PredicateBuilder<True> 和 PredicateBuilder<False> 之间的区别?

我有代码:varpredicate=PredicateBuilder.True();predicate=predicate.And(x=>x.value1=="1");predicate=predicate.And(x=>x.value2=="2");varvals=Value.AsExpandable().Where(predicate).ToList();如果我有PredicateBuilder.True(),它带回了我的期望,但如果我有PredicateBuilder.False(),它带回0条记录。有人能解释一下区别是什么以及为什么在一种情况下我得到0条记录而在另一种情况下我得

c# - 使用 IReadOnlyCollection<T> 而不是 IEnumerable<T> 作为参数以避免可能的多重枚举

我的问题与thisone有关关于IEnumerable的使用对比IReadOnlyCollection.我也一直使用IEnumerable将集合公开为返回类型和参数,因为它受益于不可变和延迟执行。但是,我越来越担心我的代码中必须枚举参数以避免ReSharper可能给出的多重枚举警告的地方的激增。我理解ReSharper为什么建议这样做,并且我同意它建议的代码(如下)以确保封装(即,不假设调用者)。Foo[]arr=colasFoo[]??col.ToArray();但是,我发现此代码的重复性具有污染性,并且我同意一些消息来源的观点IReadOnlyCollection是一个更好的选择,